package com.lrkj.lease.service;

import java.util.List;
import com.lrkj.lease.domain.LeaseContract;
import com.lrkj.common.core.service.BaseService;
import org.springframework.beans.factory.annotation.Autowired;

/**
 * 租赁合同Service接口
 *
 * @author yajun_ren
 * @date 2022-04-26
 */
public interface ILeaseContractService extends BaseService<LeaseContract>
{
    /**
     * 查询租赁合同
     *
     * @param id 租赁合同ID
     * @return 租赁合同
     */
    public LeaseContract selectLeaseContractById(String id);

    /**
     * 查询租赁合同列表
     *
     * @param leaseContract 租赁合同
     * @return 租赁合同集合
     */
    public List<LeaseContract> selectLeaseContractList(LeaseContract leaseContract);

    /**
     * 新增租赁合同
     *
     * @param leaseContract 租赁合同
     * @return 结果
     */
    public int insertLeaseContract(LeaseContract leaseContract);

    /**
     * 修改租赁合同
     *
     * @param leaseContract 租赁合同
     * @return 结果
     */
    public int updateLeaseContract(LeaseContract leaseContract);

    /**
     * 批量删除租赁合同
     *
     * @param ids 需要删除的租赁合同ID
     * @return 结果
     */
    public int deleteLeaseContractByIds(String[] ids);

    /**
     * 删除租赁合同信息
     *
     * @param id 租赁合同ID
     * @return 结果
     */
    public int deleteLeaseContractById(String id);


    /**
     * 履行合同
     * @param leaseContract
     */
    public int appleLease(LeaseContract leaseContract);


    /**
     * 租赁退租
     * @param leaseContract
     * @return
     */
    public int expriyLease(LeaseContract leaseContract);


    /**
     * 合同变更
     * @param leaseContract
     * @return
     */
    public int beforeRecord(LeaseContract leaseContract);
}
